 var table ,form ,laypage ,layer ,element ,laydate ,upload//时间组件
$(function(){
	 layui.use(['table','form','laypage','layer', 'element', 'laydate','upload'], function(){
         table = layui.table;
         form=layui.form;
         laypage = layui.laypage ;//分页
         layer = layui.layer ;//弹层
         element = layui.element; //元素操作
         laydate = layui.laydate; //时间组件 
         upload = layui.upload;
//         intuser()//初始化用户信息  
         //时间框
         TimeTools()
		//监听表格数据
		table.render({
		    elem: '#tabledata',
		    height: $(window).height()-200,		   
		    text: {
			    none: '暂无相关数据' //默认：无数据。注：该属性为 layui 2.2.5 开始新增
			  },
			method: 'post',  
			loading: true,
		    url: '/ErrorCode/getList.do' ,//数据接口
		    headers: setHeader(),
		    parseData: function(res){
                return res.resultData;
            },
            response: {
                statusName: 'status', //规定数据状态的字段名称，默认：code
                statusCode: 200, //规定成功的状态码，默认：0
                msgName: 'hint', //规定状态信息的字段名称，默认：msg
                countName: 'total', //规定数据总数的字段名称，默认：count
                dataName: 'data' //规定数据列表的字段名称，默认：data
            },
		    page: true, //开启分页
		    cols: [[    //表头
		    	 {field: 'id', title: '表ID',   align:'left',hide:true,width:5},
		    	 {field: 'xuhao', title: '序号',  align:'center', type:'numbers',width:50},
			      {field: 'errorCode', title: '错误码',   align:'left',width:150},
			      {field: 'statusCode', title: '状态码', align:'left',width:80},
			      {field: 'channel', title: '渠道类型', align:'left',width:100},
				  {field: 'valueZh', title: '提示信息',align:'left',width:150},
				  {field: 'icon', title: '提示框图片码',   align:'left',width:120  },
			      {field: 'descript', title: '提示码描述',align:'left',width:200},
				  {field: '', title: '操作', align:'left',width:150,fixed:'right',
				        templet: function(data){
				  			return '<div class="layui-btn-group">'+                               			                   
						  			  '<a href="javascript:;" class="layui-btn layui-btn-xs BTNSHOW BTNSHOW_EDIT" lay-event="edit">编辑</a>'+
									  '<a href="javascript:;" class="layui-btn layui-btn-normal layui-btn-xs BTNSHOW BTNSHOW_LOOK" lay-event="look">查看</a>'+
									  '<a href="javascript:;" class="layui-btn layui-btn-danger layui-btn-xs BTNSHOW BTNSHOW_DELETE" lay-event="del">删除</a>'+
								   '</div>'							        							        
				  		}
				  }
		    ]],
		    done: function (res) {
                //如果是异步请求数据方式，res即为你接口返回的信息。
                //如果是直接赋值的方式，res即为：{data: [], count: 99} data为当前页数据、count为数据总长度
                //console.log(res);
		    	 permissionFUN()//功能按钮权限
		    	 if(res.status!=200){
			    		if(res.status == 666){
			    			  TIMEOUT(); 
		  		        }else{
	                	  $(".layui-none").text(res.resultMsg)
		  		        }  
	             }
            }
		});
		//监听行工具事件
        table.on('tool(test)', function (obj) {
			form.render();//需要渲染一下
            var data = obj.data;
            //编辑删除功能
           if (obj.event === 'look') { //查看
        	   var num = obj.data;
			    var fullindex=layer.open({
			        type: 1,
			        area: ['690px', '420px'],
			        fix: false, //不固定
			        maxmin: true,
			        shadeClose: true,
			        shade:0.4, //遮罩层
			        title: ['提示码详情','background:#1E9FFF;color:#fff'],
			        content: $('#form_edit')
			    });	
			    $("#formbut").hide();
			    $("#statusCode_edit ,#valueZh_edit ,#icon_edit ,#descript").attr("disabled",true);//禁止编辑
			    $("#errorCode_edit").val(num.errorCode);//
			    $("#statusCode_edit").val(num.statusCode);//
			      $("#channel_edit").val(num.channel);//
			      $("#valueZh_edit").val(num.valueZh);
			      $("#layradiolook").empty();
			      if(num.icon!=null){
			    	 $("#layradiolook").append('<i class="layui-layer-ico layui-layer-ico'+num.icon+'"></i> ');
			      }	 			      	 			                                
			      $("#descript").val(num.descript);//备注    
			     form.render();//需要渲染一下
             
            }  
           else if (obj.event === 'del') {  //删除
               layer.confirm('真的要删除这行数据？', function (index) {
              	 var requestData = {"id": data.id, "other":data};
            	  	$.ajax({
        	           url: "/ErrorCode/delete.do",               //请求地址
        	           type: "POST",              //请求类型
        	           data:formatParam(requestData),              //请求数据
        	           timeout: 200000,                //请求超时时间(毫秒)
        	           headers: setHeader(),
        	           success:function(res){         //请求成功
        	        	   if(res.status == 200)
        	  				{
        	    				layer.msg(res.resultMsg, {icon: res.icon},function(){
        	    					 layer.closeAll();//关闭加载层
        	    					table.reload("tabledata", {});
        						}); 					
        	  				}else if(res.status == 666){
        	  					 TIMEOUT(); 
    		  		        }else{
        	  					layer.msg(res.resultMsg, {icon: res.icon});
        	  				}
        	  				      
                      }
                   })
                  return false;
              });
          }
           else if(obj.event === 'edit')
        	   { //编辑  
        	   var num = obj.data;
        	   var fullindex=layer.open({
			        type: 1,
			        area: ['690px', '420px'],
			        fix: false, //不固定
			        maxmin: true,
			        shadeClose: true,
			        shade:0.4, //遮罩层
			        title: ['提示码编辑','background:#1E9FFF;color:#fff'],
			        content: $('#form_edit')
			    });	
        	   	$("#formbut ,#icon_edit").show(); 
        	   	$("#layradiolook").hide();
        	   	$("#statusCode_edit ,#valueZh_edit ,#icon_edit ,#descript").attr("disabled",false);
        	   	$("#id").val(num.id);
        	   	$("#errorCode_edit").val(num.errorCode);//
			      $("#statusCode_edit").val(num.statusCode);//
			      $("#channel_edit").val(num.channel);//
			      $("#valueZh_edit").val(num.valueZh);
			      $("#icon_edit").val(num.icon);                            
			      $("#descript").val(num.descript);//备注 
			      $("input[name=icon][value='"+num.icon+"']").attr("checked",true);
			     form.render();
          }
			form.render();//需要渲染一下	   
        });
	//表单验证
     form.verify({      	  
      fstatuscode: function(value, item){		  
      			if(validate.isBlank(value))
      			{
      				return "状态码不能为空";
      			}
      			if(!validate.isLength(value,1,11))
      			{
      				return "状态码长度应在1-11个字符之间";
      			}
      			if(!validate.isInteger(value))
      		    {
      		      return "状态码为整数";
      		    }      		   

	       },
	    fChannel:function(value, item){		  
	    			if(validate.isBlank(value))
	    			{
	    				return "渠道类型不能为空";
	    			}		    			
	            }, 
	    fmsgtitle:function(value, item){		  
  			   if(validate.isBlank(value))
	    			{
	    				return "请填写提示信息";
	    			}		    			
             },
     ficon:function(value, item){		  
	    			if(!validate.isBlank(value))
	    			{
	    				if(!validate.isInteger(value))
	        		    {
	        		      return "提示框图片为整数";
	        		    }
	    			}		    			
	            },         
	    fdescript:function(value, item){ 
		    	if(!validate.isLength(value,0,500))
  			{
  				return "字典描述长度不能超过500";
  			}
     	    }
     });
   //表单编辑提交事件
     form.on('submit(editInfo)', function(data){
   	    this.blur();//防止点回车，按钮重复点击
   	  	//var loadIndex = layer.load(1);//显示加载层
   	  	var requestData = formToJsonObj("form_edit", []);
   	  	$.ajax({
	           url: "/ErrorCode/update.do",               //请求地址
	           type: "POST",              //请求类型
	           data:formatParam(requestData),              //请求数据
	           timeout: 200000,                //请求超时时间(毫秒)
	           headers: setHeader(),
	           success:function(res){         //请求成功
	        	   if(res.status == 200)
	  				{
	    				layer.msg(res.resultMsg, {icon: res.icon},function(){
	    					layer.closeAll();//关闭加载层
	    					table.reload("tabledata", {});
						}); 					
	  				}else if(res.status == 666){
	  					 TIMEOUT(); 
	  		        }else{
	  					layer.msg(res.resultMsg, {icon: res.icon});
	  				    //layer.closeAll();//关闭加载层
	  				}
	  				      
             }
          })
   		return false; //阻止表单跳转。
   	});  
	    // 查询按钮提交查询信息
	    form.on('submit(queryData)', function(data){
	        // 组装查询条件
	        var reqData = getConditionValue();
	        // 重新加载表格数据
	        table.reload("tabledata", {
	             where: {"reqData" : JSON.stringify(reqData)}
		        ,page: {
		            curr: 1 //重新从第 1 页开始
		          }
	        });
	    });
	});
	 layui.use(['layer','element','form'], function(){
		  var layer = layui.layer,
		      element = layui.element,
		      form = layui.form;
		   $("#icon_edit").click(function(){
				var groupObj = $(this);
				var groupOffset = $(this).offset();
				$("#iconselect").css({left:groupOffset.left + "px", top:groupOffset.top + groupObj.outerHeight() + "px"}).slideDown("fast");
				$("body").bind("mousedown", iconOnBodyDown);
		  })
		  //监听提示图片选择
		  form.on('radio(radiofile)', function(data){
			  var Value=data.value; //被点击的radio的value值
			  $("#icon_edit").val(Value);
			  $("#iconselect").fadeOut("fast");
		  });
	})
	
	
})
 
function iconHideMenu() {
$("#iconselect").fadeOut("fast");
$("body").unbind("mousedown", iconOnBodyDown);
}
function iconOnBodyDown(event) {
if (!(event.target.id == "icon_edit" || event.target.id == "iconselect" || $(event.target).parents("#iconselect").length>0)) {
iconHideMenu();
}
}